home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tk.d64 / mlappend ins.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  4KB  |  133 lines

  1. 10 PRINT"[147][144]";:POKE53281,12:POKE53280,12:PRINTCHR$(14)
  2. 20 FORI=1TO23
  3. 30 READA$
  4. 40 IFA$="[157]"THENGOSUB80:END
  5. 50 PRINTA$
  6. 60 NEXT
  7. 70 GOSUB80:GOTO20
  8. 80 PRINT"      PRESS A KEY TO CONTINUE[146]";
  9. 90 GETB$:IFB$=""THEN90
  10. 100 PRINT"[147]":RETURN
  11. 10000 DATA"          [205][204] [193][208][208][197][206][196][197][210] 64
  12. 10010 [131]"               BY
  13. 10020 DATA"         [205]IKE [203]OZAKIEWICZ
  14. 10030 [131]"
  15. 10040 DATA"
  16. 10050 [131]"(null)(null)(null)(null)(null)(null)VAL
  17. 10060 DATA"
  18. 10070 [131]"(null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64 IS USED TO CREATE A 
  19. 10080 DATA"SINGLE FILE FROM SEPARATE [194][193][211][201][195] AND AN 
  20. 10090 [131]"(null)(null) PROGRAMS WHICH WORK TOGETHER. (null)ANY 
  21. 10100 DATA"PROGRAMS HAVE BOTH [194][193][211][201][195] AND [205][204] PARTS. 
  22. 10110 [131]"RIGHT$T IS INCONVENIENT TO LOAD EACH PART OF
  23. 10120 DATA"THE PROGRAM INDIVIDUALLY, SO THE 
  24. 10130 [131]"PROGRAMMER FREQUENTLY WILL MAKE A 
  25. 10140 DATA"'[194]OOT' PROGRAM WHICH [204][207][193][196]S THE [205][204] PART 
  26. 10150 [131]"AND THEN (null)(null)ATNSTR$S AND (null)(null)(null)S THE PEEKATN(null)RIGHT$LEN PART.
  27. 10160 DATA"[215]HEN A '[194]OOT' IS USED, THE PROGRAM WILL
  28. 10170 [131]"CONSISTS OF THREE FILES. (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64
  29. 10180 DATA"ELIMINATES THE NEED FOR A '[194]OOT', AND 
  30. 10190 [131]"COMBINES THE PEEKATN(null)RIGHT$LEN AND (null)(null) PORTIONS OF A
  31. 10200 DATA"PROGRAM WITHOUT GENERATING [196][193][212][193] 
  32. 10210 [131]"STATEMENTS.
  33. 10220 DATA"
  34. 10230 [131]"
  35. 10240 DATA"
  36. 10250 [131]"LEFT$(null)(null) (null)(null) (null)(null)VAL (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64
  37. 10260 DATA"
  38. 10270 [131]"1. WRITE THE PEEKATN(null)RIGHT$LEN PART OF YOUR PROGRAM
  39. 10280 DATA"AND SAVE IT TO DISK.
  40. 10290 [131]"
  41. 10300 DATA"2. WRITE THE [205][204] PART OF YOUR PROGRAM 
  42. 10310 [131]"AND SAVE IT TO THE SAME DISK. (null)AVE THE 
  43. 10320 DATA"[205][204] WITH A UTILITY THAT ALLOWS SAVING 
  44. 10330 [131]"ANY BLOCK OF THE COMPUTER'S MEMORY (EG.
  45. 10340 DATA"[211][213][208][197][210][205][207][206]).
  46. 10350 [131]"
  47. 10360 DATA"3. [204][207][193][196] AND [210][213][206] [205][204] [193][208][208][197][206][196][197][210] 64. [201]N 
  48. 10370 [131]"RESPONSE TO ITS PROMPTS, INDICATE THE 
  49. 10380 DATA"[194][193][211][201][195] PROGRAM AND THE [205][204] PROGRAM THAT 
  50. 10390 [131]"ARE TO BE MERGED. (null)(null)(null)VAL: YOU CAN VIEW 
  51. 10400 DATA"THE DISK DIRECTORY BY RESPONDING TO THE
  52. 10410 [131]"PROMPT BY ENTERING A DOLLAR SIGN ($).
  53. 10420 DATA"
  54. 10430 [131]"
  55. 10440 DATA"[205][204] [193][208][208][197][206][196][197][210] 64
  56. 10450 [131]"
  57. 10460 DATA"[215]ILL RESET THE START OF [194][193][211][201][195] TEXT 
  58. 10470 [131]"MEMORY. RIGHT$T THEN (null)(null)ATNSTR$S IN FIRST THE 
  59. 10480 DATA"[194][193][211][201][195] PROGRAM AND THEN THE [205][204] PROGRAM. 
  60. 10490 [131]"(null)O THE END OF THE (null)(null) PROGRAM IT ADDS A 
  61. 10500 DATA"[205][207][214][197][210] ROUTINE AND FOUR DATA BYTES THAT 
  62. 10510 [131]"INDICATE WHERE THE (null)(null) PROGRAM SHOULD BE
  63. 10520 DATA"MOVED WHEN THE [194][193][211][201][195] PROGRAM IS RUN.
  64. 10530 [131]"
  65. 10540 DATA"[194]EFORE [210][213][206]NING OR [211][193][214][197]ING THE NEW 
  66. 10550 [131]"COMBINATION PEEKATN(null)RIGHT$LEN AND (null)(null) PROGRAM, YOU 
  67. 10560 DATA"MUST ADD THE FOLLOWING LINE TO THE 
  68. 10570 [131]"PEEKATN(null)RIGHT$LEN PART.
  69. 10580 DATA"
  70. 10590 [131]"SYS(PEEK(45)+PEEK(46)*256-63)
  71. 10600 DATA"
  72. 10610 [131]"(null)HIS SYS ACTIVATES THE (null)(null)(null)VAL(null) TO PUT 
  73. 10620 DATA"YOUR [205][204] ROUTINE WHERE IT BELONGS IN 
  74. 10630 [131]"MEMORY. PEEKECAUSE THE (null)(null)(null)VAL(null) IS 
  75. 10640 DATA"RELOCATABLE, YOU MAY MAKE CHANGES TO 
  76. 10650 [131]"YOUR PEEKATN(null)RIGHT$LEN PROGRAM WITHOUT ADVERSELY 
  77. 10660 DATA"AFFECTING THE [205][204] PROGRAM THAT IS 
  78. 10670 [131]"APPENDED TO THE PEEKATN(null)RIGHT$LEN PROGRAM. RIGHT$ 
  79. 10680 DATA"RECOMMEND THAT THE NEW SYS STATEMENT BE
  80. 10690 [131]"PUT EARLY IN YOUR PROGRAM IN A PLACE 
  81. 10700 DATA"THAT WILL NOT BE EXECUTED MORE THAN 
  82. 10710 [131]"ONCE DURING THE (null)(null)(null)NING OF THE 
  83. 10720 DATA"PROGRAM.
  84. 10730 [131]"
  85. 10740 DATA"
  86. 10750 [131]"LEFT$(null)(null) ATN(null)STR$ (null)LEFT$(null) (null)(null) ATN(null)(null)VAL(null)STR$VAL(null) 64 (null)(null)(null)(null)(null)
  87. 10760 DATA"
  88. 10770 [131]"ASCOR THOSE OF YOU WHO ARE NOT 
  89. 10780 DATA"PROGRAMMERS, YOU NEED NOT READ FURTHER.
  90. 10790 [131]"ASCOR THOSE WHO CARE, HERE IS HOW (null)(null) 
  91. 10800 DATA"[193][208][208][197][206][196][197][210] 64 WORKS.
  92. 10810 [131]"
  93. 10820 DATA"[201]N MEMORY, [194][193][211][201][195] PROGRAMS END WITH 
  94. 10830 [131]"THREE BINARY ZEROS ((null)PEEK(null)). (null)HE START OF 
  95. 10840 DATA"[194][193][211][201][195] VARIABLES ([211][207][214]) ORDINARILY BEGINS
  96. 10850 [131]"IMMEDIATELY AFTER THE (null)PEEK(null). LEFT$OWEVER THE 
  97. 10860 DATA"[211][207][214] POINTER (WHICH IS LOCATED ON ZERO 
  98. 10870 [131]"PAGE AT LOCATIONS 45 AND 46) CAN BE SET
  99. 10880 DATA"SO THAT THERE IS SPACE BETWEEN THE [212][194][218] 
  100. 10890 [131]"AND THE (null)(null)(null). (null)HE SIZE OF THIS SPACE IS 
  101. 10900 DATA"NOT ALTERED IF THE [194][193][211][201][195] PROGRAM IS 
  102. 10910 [131]"CHANGED (EG. LINES ADDED OR DELETED). 
  103. 10920 DATA"[212]HE SPACE WILL MOVE UP AND DOWN IN 
  104. 10930 [131]"MEMORY, BUT WILL NOT OTHERWISE BE 
  105. 10940 DATA"ALTERED. [193] [205][204] PROGRAM COULD BE PUT IN 
  106. 10950 [131]"THIS AREA IF IT WERE RELOCATABLE. (null)ANY 
  107. 10960 DATA"(AND IN FACT MOST) [205][204] PROGRAMS ARE [206][207][212] 
  108. 10970 [131]"RELOCATABLE, SO THIS AREA IS NOT USEFUL
  109. 10980 DATA"FOR RUNNING MOST [205][204] PROGRAMS.
  110. 10990 [131]"
  111. 11000 DATA"[205][204] [193][208][208][197][206][196][197][210] 64 LOADS THE [205][204] PROGRAM 
  112. 11010 [131]"THAT YOU DESIGNATE INTO THE MEMORY 
  113. 11020 DATA"SPACE BETWEEN THE [212][194][218] AND THE [211][207][214]. [201]N 
  114. 11030 [131]"ADDITION, IT PUTS A RELOCATABLE (null)(null) 
  115. 11040 DATA"[205][207][214][197][210] ROUTINE AT THE END OF YOUR [205][204] 
  116. 11050 [131]"ROUTINE. (null)HIS (null)(null)(null)VAL(null) ROUTINE IS 63 BYTES
  117. 11060 DATA"LONG, INCLUDING FOUR DATA BYTES AT THE 
  118. 11070 [131]"END OF THE ROUTINE.  (null)HE DATA BYTES 
  119. 11080 DATA"GIVE THE [205][207][214][197][210] THE INFORMATION IT NEEDS
  120. 11090 [131]"TO KNOW IN ORDER TO MOVE YOUR (null)(null) 
  121. 11100 DATA"ROUTINE TO WHERE IT BELONGS. [194]ECAUSE 
  122. 11110 [131]"THE MOVER IS LOCATED 63 BYTES BEFORE 
  123. 11120 DATA"THE [211][207][214], IT IS ACTIVATED BY 
  124. 11130 [131]"SYS(PEEK(45)+PEEK(46)*256-63).
  125. 11140 DATA"
  126. 11150 [131]"
  127. 11160 DATA"                   [205]IKE [203]OZAKIEWICZ
  128. 11170 [131]"                   175 (null)HARON STR$RIVE
  129. 11180 DATA"                   [210]OCHESTER, [206][217] 14626
  130. 11190 [131]"                   (null)(null)ATN
  131. 11200 DATA"
  132. 11210 [131]"CMD
  133.